草庐IT

c++ - DrawText VS TextOut Win32

全部标签

windows - 调用 kernel32.dll 函数时获取调用堆栈

我有一个更改其当前目录的进程,我想知道它发生的时间和地点。我怎么能那样做?我尝试使用VisualStudio在SetCurrentDirectoryA/SetCurrentDirectoryW中设置断点,但它不起作用。 最佳答案 您是在调试自己的程序,还是没有源代码的程序?VisualStudio调试器对于调试无源应用程序不是很友好;在那种情况下,我会推荐WinDbg或OllyDbg-甚至跳过调试器并使用EasyHook编写一个检测记录器.编辑:尝试在{,,kernel32.dll}_SetCurrentDirectoryA@4处设

c - 防止过多的 LoadLibrary/FreeLibrary

我正在编写一个代理库(称为库A),它只是与系统上可能存在或不存在的另一个DLL(称为库B)的接口(interface)。这个想法是程序将链接到这个库A而不是原始库B;如果系统上没有安装库B,库A将处理错误。所以一个典型的代理函数看起来像这样:intfunction(intarg1,intarg2){HINSTANCEhinstLib;UINTerrormode=SetErrorMode(SEM_FAILCRITICALERRORS);SetErrorMode(errormode|SEM_FAILCRITICALERRORS);hinstLib=LoadLibrary(TEXT(ORIG

c++ - 是否有任何适用于 C++ Windows 开发人员的免费可移植(意思是 <100mb)IDE,其编译器能够进行代码提示并经过测试可与 Win32 API 一起使用?

我需要的是一个小型的IDE+编译器,用于创建将与win32API交互的C++应用程序...如果它能够分析我为代码完成提供的header并连接DLL(不是.NetDLL,但如果它能够编译C++.NET项目,我会非常高兴)到项目应该很容易。所以我知道我的要求很难。例如对于C#,我找到了SharpDevelop但它不提供C++功能...所以请有任何想法 最佳答案 Code::Blocks是另一个要考虑的问题。IDE+Mingw编译器的二进制文件压缩后只有73MB。Code::Blocks应该能够做你想做的全部或大部分,尽管我很确定它不能做

c++ - 取消WIN32线程池中计划的work/io/timer项

我一直在研究Windows的(新的?)线程池API。我一直在关注UsingtheThreadPoolFunctions中的示例我一直在仔细研究MSDN上的API。关于清理组,我有些不明白。调用SetThreadpoolCallbackCleanupGroup()时,第三个参数描述为Thecleanupcallbacktobecalledifthecleanupgroupiscanceledbeforetheassociatedobjectisreleased.ThefunctioniscalledwhenyoucallCloseThreadpoolCleanupGroupMembers

c++ - 创建一个反射(reflect)崩溃原因的崩溃报告 Win32 C++ 字符串的好方法是什么?

我们正在使用Fogbugz来跟踪问题,我正在为XMLAPIforFogbugz编写一个C++包装器。.最佳实践似乎是使用“scout”字段,这样类似/相同的崩溃只会被计算在内,而不会再次报告。为此,我们需要一个针对特定崩溃原因的唯一字符串。在Win32中-在获得dmp文件或其他崩溃处理程序后,什么是为崩溃创建唯一字符串的好方法?(我们将创建一个dmp文件并将其发送到fogbugz服务器)在以前的帖子/文章/等中,Joel提出了各种建议,但其中大部分都依赖于C#这样使用反射的语言,并且包含很多难以获取或无法获取的信息。有没有其他人得到堆栈跟踪或其他东西来在fogbugz中制作侦察条目?编

c++ - 选项卡控件及其子窗口

我正在使用一个控制选项卡(Windows类“SysTabControl32”)来组织我正在开发的应用程序中的GUI元素。过去,我捕获了TCN_SELCHANGE事件,然后在每个GUI元素的基础上,决定什么应该可见或不可见。这对于只有几十个GUI元素的小型应用程序来说非常好,但我当前的项目更复杂。我希望有一个更简单的解决方案。我想要的是带有多个选项卡的选项卡控件。每个选项卡都有一个GUI元素“包装器”,我可以单独显示/隐藏它,并使所有相应的子元素可见/隐藏。我读过我应该使用对话框来完成我正在描述的内容,但找不到任何示例。对话是可行的方法吗?如果是这样,我在哪里可以找到一个简单的例子?如果

c - 我如何在 win32 平台上用 C 实现时间驱动的任务?

我是C语言的新手,我试图找到一些代码片段来弄清楚如何在C语言中实现时间触发的任务。我有两个函数,它们的执行时间可能在50到200毫秒之间变化。我想将这些函数传递给一个工作线程,该线程应安排为每500毫秒运行一次。在C(win32平台)中是否有一种简单的方法(如java的TimerTask)来使用标准运行时库实现定时器任务? 最佳答案 使用c你可以使用win32SetTimer功能 关于c-我如何在win32平台上用C实现时间驱动的任务?,我们在StackOverflow上找到一个类似的问

c - Win32开发。标准

对所有Win32开发人员的呼吁...我正在使用纯Win32在C中开发一个应用程序。我想问一下关于这些东西的Windows开发标准:是否有标准的Windows错误日志API?例如,如果我的客户使用我的应用程序并且它崩溃了,我希望他们向我发送错误日志,我希望这是一个标准位置,以便他们可以使用标准Windows日志实用程序访问它。我的应用需要存储设置信息。我认为注册表是这项任务的标准实用程序。是吗?我的应用需要存储和检索它从互联网下载的文件-图片、可执行文件等。ApplicationData/myapp是存储此类信息的标准位置吗?我的应用程序需要一个非常简单的数据库-我为此使用CSV。我基本

c - JNA 简单函数调用适用于 linux (x64) 但不适用于 Windows (x86)

我正在尝试使用JNA从Java运行以下C函数,但我在x86windows(DLL)而不是x64linux(.SO)上收到错误(无效内存访问)。c函数char*testcopy(char*out,char*in){strcpy(out,in);free(in);returnout;};C测试:适用于两个平台(EclipseCDT/MVC++)通过linux共享库或windowsdll暴露函数,直接在C中调用,结果OK。...charout[10];char*res;char*in=(char*)malloc(3*sizeof(char));strcpy(in,"ab");res=test

c - 当我的 C 文件有其他依赖项时,如何准备 ./configure make make install?

编写/阅读代码似乎比准备部署脚本(例如./configure)和为我的C应用程序制作和安装要轻松得多。我如何制作./configure文件并为以下C代码制作文件?感谢您的宝贵支持。@file:main.c:#include#include#ifndef_WIN32#ifdefH323_H46018#include"h460/h460_std18.h"H460_FEATURE(Std18);H460_FEATURE(Std19);#endif#ifdefH323_H46023#include"h460/h460_std23.h"#endif#endif//_WIN32#definenew